package com.reconcile.phone.common.utils;

import java.util.Arrays;
import java.util.List;

/**
 * @author Administrator
 */
public class ChineseNameUtil {

  // 包含多个字符的常见姓氏
  private static final List<String> MULTI_CHAR_SURNAMES = Arrays.asList("欧阳", "太史", "上官", "端木", "独孤",
      "南宫", "万俟", "闻人", "夏侯", "诸葛",
      "尉迟", "公羊", "赫连", "澹台", "皇甫",
      "宗政", "慕容", "司徒", "司空", "百里",
      "东郭", "南门", "呼延", "归海", "羊舌",
      "微生", "公户", "公玉", "公仪", "濮阳",
      "淳于", "单于", "太叔", "申屠", "公孙",
      "仲孙", "轩辕", "令狐", "钟离", "宇文",
      "长孙", "慕容", "鲜于", "闾丘", "司徒",
      "司空", "亓官", "司寇", "子车", "颛孙",
      "端木", "巫马", "公西", "漆雕", "乐正",
      "壤驷", "公良", "拓跋", "夹谷", "宰父",
      "穀梁", "晋楚", "闫法", "汝鄢", "涂钦",
      "段干", "百里", "东郭", "南门", "呼延",
      "归海", "羊舌", "微生", "岳帅", "缑亢",
      "况后", "有琴", "梁丘", "左丘", "东门",
      "西门", "商牟", "佘佴", "伯赏", "南宫",
      "墨哈");

  /**
   * 提取中文姓名的姓
   *
   * @param fullName 中文姓名
   * @return 姓
   */
  public static String extractSurname(String fullName) {
    if (fullName == null || fullName.isEmpty()) {
      return "";
    }

    for (String surname : MULTI_CHAR_SURNAMES) {
      if (fullName.startsWith(surname)) {
        return surname;
      }
    }

    // 默认处理，取第一个字符作为姓
    return fullName.substring(0, 1);
  }

}

